Product Code Database
Example Keywords: shirt -android $57-171
barcode-scavenger
   » » Wiki: Executable
Tag Wiki 'Executable'.
Tag

Executable
 (

In , an executable is a resource that a can use to control its behavior. As with all information in computing, it is , but distinct from data that does not imply a . Terms such as executable code, executable file, executable program, and executable image describe forms in which the information is represented and stored. A native executable is and is directly executable at the instruction level of a CPU. A script is also executable although indirectly via an interpreter. Intermediate executable code (such as ) may be interpreted or converted to native code at runtime via just-in-time compilation.


Native executable
Even though it's technically possible to write a native executable directly in machine language, it is generally not done. It is far more convenient to develop software as and to automate the generation of machine code via a . Today, most source code is a high-level language although it's still possible to use assembly language which is closely associated with machine code instructions. Many toolchains consist of a that generates native code as a set of and a linker that generates a native executable from the object and other files. For assembly language, typically the translation tool is called an assembler instead of a compiler.

Object files are typically stored in a digital container format that supports structure in the machine code such as Executable and Linkable Format (ELF) or Portable Executable (PE), depending on the computing context. The format may support segregating code into sections such as .text (executable code), .data (initialized global and static variables), and .rodata (read-only data, such as constants and strings).

Executable files typically include a , which implements runtime language features (such as , exception handling, calling static constructors and destructors, etc.) and interactions with the operating system, notably passing arguments, environment, and returning an , together with other startup and shutdown features such as releasing resources like . For C, this is done by linking in the crt0 object, which contains the actual entry point and does setup and shutdown by calling the . Executable files thus may contain significant code beyond that directly generated from the source code. In some cases, it is desirable to omit this, for example for embedded systems. In C, this can be done by omitting the usual runtime, and instead explicitly specifying a linker script, which generates the entry point and handles startup and shutdown, such as calling main to start and returning exit status to the kernel at the end.

To be executable, a file must conform to the system's application binary interface (ABI). In simple interfaces, a file is executed by loading it into memory and jumping to the start of the address space and executing from there. In more complicated interfaces, executable files have additional , which may specify relocations to be performed when the program is loaded, or the address at which to start execution.


See also

External links

Page 1 of 1
1
Page 1 of 1
1

Account

Social:
Pages:  ..   .. 
Items:  .. 

Navigation

General: Atom Feed Atom Feed  .. 
Help:  ..   .. 
Category:  ..   .. 
Media:  ..   .. 
Posts:  ..   ..   .. 

Statistics

Page:  .. 
Summary:  .. 
1 Tags
10/10 Page Rank
5 Page Refs